﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;

namespace AgendaManager.Service
{
    public class ObraContactoDAO : DAOBase
    {
        internal static List<ObraContacto> RetrieveEntities(object dto, string filtro)
        {
            List<ObraContacto> dtos = new List<ObraContacto>();

            DataTable dt = GetDataTable(dto, filtro);

            if (dt.Rows.Count > 0)
                dtos = LlenarObraContactos(dto, dt);

            return dtos;
        }


        private static List<ObraContacto> LlenarObraContactos(object dto, DataTable dt)
        {
            List<ObraContacto> dtos = new List<ObraContacto>();

            foreach (DataRow dr in dt.Rows)
            {
                ObraContacto aux = new ObraContacto();
                PoblarObjetoDesdeDataRow(aux, dr);

                dtos.Add(aux);
            }

            return dtos;
        }

        internal static List<ObraContacto> RetrieveEntitiesWhere(object dto, string where)
        {
            List<ObraContacto> dtos = new List<ObraContacto>();

            DataTable dt = GetDataTableWhere(dto, where);

            if (dt.Rows.Count > 0)
                dtos = LlenarObraContactos(dto, dt);

            return dtos;
        }

        internal static bool NuevoObraContacto(ObraContacto obraContactoDto)
        {
            try
            {
                int obraContactoId = GetNextId(obraContactoDto);

                if (obraContactoId != 0)
                {
                    obraContactoDto.Id = obraContactoId;
                    return CreateEntity(obraContactoDto);
                }

                return false;
            }
            catch (Exception)
            {

                throw;
            }
        }
    }
}